/*
 *  Copyright 2015-2016, RenGu Technology (BeiJing) Co., Ltd.
 *  All right reserved.
 *
 *  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF RENGU TECHNOLOGY (BeiJing) CO., LTD.
 *
 *  THE CONTENTS OF THIS FILE MAY NOT BE DISCLOSED TO THIR PARTIES,
 *  COPIED OR DUPLICATED IN ANY FORM, IN WHOLE OR IN PART,
 *  WITHOUT THE PRIOR WRITTEN PERMISSION OF RENGU TECHNOLOGY (BeiJing) CO., LTD.
 *
 *  SmartRouteCalService.java
 *
 *  Edit History:
 *      lizhangtao Created on 2022年01月10日
 *
 */
package cc.rengu.igas.route.facade;

import cc.rengu.igas.route.facade.request.IntelliCalRequest;
import cc.rengu.igas.route.facade.request.IntelliQryChnlRequest;
import cc.rengu.igas.route.facade.request.IntelliStatisticsChnlRequest;
import cc.rengu.igas.route.facade.response.IntelliCalResponse;
import cc.rengu.igas.route.facade.response.IntelliQryChnlResponse;
import cc.rengu.igas.route.facade.response.IntelliStatisticsChnlResponse;
import cc.rengu.igas.route.facade.result.Result;

/**
 * 路由试算接口
 *
 * @author lizhangtao
 * @version 1.0
 * @date 2022/1/10
 */
public interface SmartRouteCalService {
    /**
     * 查询可供路由的通道信息
     * @param request IntelliQryChnlRequest 请求
     * @return Result<IntelliQryChnlResponse>
     */
    Result<IntelliQryChnlResponse> qry(IntelliQryChnlRequest request);

    /**
     * 路由试算
     * @param request IntelliCalRequest 请求
     * @return Result<IntelliCalResponse>
     */
    Result<IntelliCalResponse> cal(IntelliCalRequest request);

    /**
     * 路由分析监控
     * @param request IntelliStatisticsChnlRequest 请求
     * @return Result<IntelliStatisticsChnlResponse>
     */
    Result<IntelliStatisticsChnlResponse> statistics(IntelliStatisticsChnlRequest request);


}
